package com.dingtao.common.bean;

import com.alibaba.fastjson.annotation.JSONField;

import java.io.Serializable;
import java.util.List;

import lombok.Data;
import lombok.NoArgsConstructor;

@NoArgsConstructor
@Data
public class Dynamic implements Serializable {

    @JSONField(name = "total")
    private int total;
    @JSONField(name = "size")
    private int size;
    @JSONField(name = "current")
    private int current;
    @JSONField(name = "pages")
    private int pages;
    @JSONField(name = "records")
    private List<RecordsDTO> records;

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }

    public int getSize() {
        return size;
    }

    public void setSize(int size) {
        this.size = size;
    }

    public int getCurrent() {
        return current;
    }

    public void setCurrent(int current) {
        this.current = current;
    }

    public int getPages() {
        return pages;
    }

    public void setPages(int pages) {
        this.pages = pages;
    }

    public List<RecordsDTO> getRecords() {
        return records;
    }

    public void setRecords(List<RecordsDTO> records) {
        this.records = records;
    }

    @NoArgsConstructor
    @Data
    public static class RecordsDTO implements Serializable{
        @JSONField(name = "id")
        private long id;
        @JSONField(name = "title")
        private String title;
        @JSONField(name = "follow")
        private int follow;
        @JSONField(name = "comment")
        private int comment;
        @JSONField(name = "status")
        private int status;
        @JSONField(name = "count")
        private int count;
        @JSONField(name = "topic")
        private String topic;
        @JSONField(name = "addTime")
        private String addTime;
        @JSONField(name = "item")
        private List<ItemDTO> item;
        @JSONField(name = "member")
        private MemberDTO member;
        @JSONField(name = "mid")
        private long mid;
        @JSONField(name = "dianzan")
        private boolean dianzan;
        @JSONField(name = "vip")
        private boolean vip;

        public long getId() {
            return id;
        }

        public void setId(long id) {
            this.id = id;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public int getFollow() {
            return follow;
        }

        public void setFollow(int follow) {
            this.follow = follow;
        }

        public int getComment() {
            return comment;
        }

        public void setComment(int comment) {
            this.comment = comment;
        }

        public int getStatus() {
            return status;
        }

        public void setStatus(int status) {
            this.status = status;
        }

        public String getTopic() {
            return topic;
        }

        public void setTopic(String topic) {
            this.topic = topic;
        }

        public String getAddTime() {
            return addTime;
        }

        public void setAddTime(String addTime) {
            this.addTime = addTime;
        }

        public List<ItemDTO> getItem() {
            return item;
        }

        public void setItem(List<ItemDTO> item) {
            this.item = item;
        }

        public MemberDTO getMember() {
            return member;
        }

        public void setMember(MemberDTO member) {
            this.member = member;
        }

        public long getMid() {
            return mid;
        }

        public void setMid(long mid) {
            this.mid = mid;
        }

        public boolean isVip() {
            return vip;
        }

        public void setVip(boolean vip) {
            this.vip = vip;
        }

        public int getCount() {
            return count;
        }

        public void setCount(int count) {
            this.count = count;
        }

        public boolean isDianzan() {
            return dianzan;
        }

        public void setDianzan(boolean dianzan) {
            this.dianzan = dianzan;
        }



        @NoArgsConstructor
        @Data
        public static class ItemDTO implements Serializable{
            @JSONField(name = "id")
            private long id;
            @JSONField(name = "dynamicId")
            private long dynamicId;
            @JSONField(name = "url")
            private String url;
            @JSONField(name = "type")
            private int type;
            @JSONField(name = "addTime")
            private String addTime;
            @JSONField(name = "mid")
            private int mid;

            public long getId() {
                return id;
            }

            public void setId(long id) {
                this.id = id;
            }

            public long getDynamicId() {
                return dynamicId;
            }

            public void setDynamicId(long dynamicId) {
                this.dynamicId = dynamicId;
            }

            public String getUrl() {
                return url;
            }

            public void setUrl(String url) {
                this.url = url;
            }

            public int getType() {
                return type;
            }

            public void setType(int type) {
                this.type = type;
            }

            public String getAddTime() {
                return addTime;
            }

            public void setAddTime(String addTime) {
                this.addTime = addTime;
            }

            public int getMid() {
                return mid;
            }

            public void setMid(int mid) {
                this.mid = mid;
            }
        }

        @NoArgsConstructor
        @Data
        public static class MemberDTO implements Serializable{
            @JSONField(name = "id")
            private long id;
            @JSONField(name = "autoId")
            private int autoId;
            @JSONField(name = "nickName")
            private String nickName;
            @JSONField(name = "gender")
            private int gender;
            @JSONField(name = "identity")
            private Object identity;
            @JSONField(name = "password")
            private String password;
            @JSONField(name = "mobile")
            private String mobile;
            @JSONField(name = "balance")
            private double balance;
            @JSONField(name = "consumeMoney")
            private Object consumeMoney;
            @JSONField(name = "operateMoney")
            private Object operateMoney;
            @JSONField(name = "rechargeMoney")
            private Object rechargeMoney;
            @JSONField(name = "incomeMoney")
            private Object incomeMoney;
            @JSONField(name = "popularMoney")
            private Object popularMoney;
            @JSONField(name = "source")
            private Object source;
            @JSONField(name = "serviceLevel")
            private int serviceLevel;
            @JSONField(name = "openId")
            private Object openId;
            @JSONField(name = "imgUrl")
            private String imgUrl;
            @JSONField(name = "version")
            private Object version;
            @JSONField(name = "lastVisitTime")
            private Object lastVisitTime;
            @JSONField(name = "addTime")
            private Object addTime;
            @JSONField(name = "updTime")
            private Object updTime;
            @JSONField(name = "parentId")
            private Object parentId;
            @JSONField(name = "birthday")
            private Object birthday;
            @JSONField(name = "area")
            private String area;
            @JSONField(name = "sign")
            private String sign;
            @JSONField(name = "status")
            private Object status;
            @JSONField(name = "name")
            private Object name;
            @JSONField(name = "job")
            private String job;
            @JSONField(name = "height")
            private Object height;
            @JSONField(name = "mid")
            private String mid;

            public long getId() {
                return id;
            }

            public void setId(long id) {
                this.id = id;
            }

            public int getAutoId() {
                return autoId;
            }

            public void setAutoId(int autoId) {
                this.autoId = autoId;
            }

            public String getNickName() {
                return nickName;
            }

            public void setNickName(String nickName) {
                this.nickName = nickName;
            }

            public int getGender() {
                return gender;
            }

            public void setGender(int gender) {
                this.gender = gender;
            }

            public Object getIdentity() {
                return identity;
            }

            public void setIdentity(Object identity) {
                this.identity = identity;
            }

            public String getPassword() {
                return password;
            }

            public void setPassword(String password) {
                this.password = password;
            }

            public String getMobile() {
                return mobile;
            }

            public void setMobile(String mobile) {
                this.mobile = mobile;
            }

            public double getBalance() {
                return balance;
            }

            public void setBalance(double balance) {
                this.balance = balance;
            }

            public Object getConsumeMoney() {
                return consumeMoney;
            }

            public void setConsumeMoney(Object consumeMoney) {
                this.consumeMoney = consumeMoney;
            }

            public Object getOperateMoney() {
                return operateMoney;
            }

            public void setOperateMoney(Object operateMoney) {
                this.operateMoney = operateMoney;
            }

            public Object getRechargeMoney() {
                return rechargeMoney;
            }

            public void setRechargeMoney(Object rechargeMoney) {
                this.rechargeMoney = rechargeMoney;
            }

            public Object getIncomeMoney() {
                return incomeMoney;
            }

            public void setIncomeMoney(Object incomeMoney) {
                this.incomeMoney = incomeMoney;
            }

            public Object getPopularMoney() {
                return popularMoney;
            }

            public void setPopularMoney(Object popularMoney) {
                this.popularMoney = popularMoney;
            }

            public Object getSource() {
                return source;
            }

            public void setSource(Object source) {
                this.source = source;
            }

            public int getServiceLevel() {
                return serviceLevel;
            }

            public void setServiceLevel(int serviceLevel) {
                this.serviceLevel = serviceLevel;
            }

            public Object getOpenId() {
                return openId;
            }

            public void setOpenId(Object openId) {
                this.openId = openId;
            }

            public String getImgUrl() {
                return imgUrl;
            }

            public void setImgUrl(String imgUrl) {
                this.imgUrl = imgUrl;
            }

            public Object getVersion() {
                return version;
            }

            public void setVersion(Object version) {
                this.version = version;
            }

            public Object getLastVisitTime() {
                return lastVisitTime;
            }

            public void setLastVisitTime(Object lastVisitTime) {
                this.lastVisitTime = lastVisitTime;
            }

            public Object getAddTime() {
                return addTime;
            }

            public void setAddTime(Object addTime) {
                this.addTime = addTime;
            }

            public Object getUpdTime() {
                return updTime;
            }

            public void setUpdTime(Object updTime) {
                this.updTime = updTime;
            }

            public Object getParentId() {
                return parentId;
            }

            public void setParentId(Object parentId) {
                this.parentId = parentId;
            }

            public Object getBirthday() {
                return birthday;
            }

            public void setBirthday(Object birthday) {
                this.birthday = birthday;
            }

            public String getArea() {
                return area;
            }

            public void setArea(String area) {
                this.area = area;
            }

            public String getSign() {
                return sign;
            }

            public void setSign(String sign) {
                this.sign = sign;
            }

            public Object getStatus() {
                return status;
            }

            public void setStatus(Object status) {
                this.status = status;
            }

            public Object getName() {
                return name;
            }

            public void setName(Object name) {
                this.name = name;
            }

            public String getJob() {
                return job;
            }

            public void setJob(String job) {
                this.job = job;
            }

            public Object getHeight() {
                return height;
            }

            public void setHeight(Object height) {
                this.height = height;
            }

            public String getMid() {
                return mid;
            }

            public void setMid(String mid) {
                this.mid = mid;
            }
        }
    }
}
